﻿using System;
using System.Collections.Generic;

using System.Text;

namespace Rance.Battle
{
    class 护身术 : 主动技能
    {
        public 护身术()
        {
            this.技能速度 = 140;
            this.消耗行动点 = Battle.消耗行动点.一点;
            this.技能目标 = Battle.技能目标.己方任一;
            this.技能站位要求 = Battle.技能站位要求.无;
        }

        public override void Excute(技能环境 环境)
        {
            base.Excute(环境);

            if (!环境.目标List[0].护盾)
            {
                环境.目标List[0].护盾 = true;

                环境.行动结果.ResultList.Add(new 获得护盾Behavior()
                {
                    List = new List<角色Struct>() { new 角色Struct() { ID = 环境.目标List[0].ID, Name = 环境.目标List[0].Name } }
                });
            }
        }
    }

    class 全体护身术 : 主动技能
    {
        public 全体护身术()
        {
            this.技能速度 = 180;
            this.技能目标 = Battle.技能目标.己方全体;
            this.消耗行动点 = Battle.消耗行动点.全部;
            this.技能站位要求 = Battle.技能站位要求.无;
        }

        public override void Excute(技能环境 环境)
        {
            获得护盾Behavior behavior = new 获得护盾Behavior();
            环境.行动结果.ResultList.Add(behavior);
            foreach (var 角色 in 环境.目标List)
            {
                if (!角色.护盾)
                {
                    角色.护盾 = true;

                    behavior.List.Add(new 角色Struct() { ID = 角色.ID, Name = 角色.Name });
                }
            }
        }
    }

}
